<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue.set的使用</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <!-- Vue.set or vm.$set
            语法：Vue.set(vm.student,'property',value)
            作用：添加或修改data里面的数据，使其成为响应式数据。
            局限，不能在vm或根数据身上发生添加或修改数据。
        -->
        <p> {{student.name}} </p>
        <p v-if="student.sex"> {{student.sex}} </p>
        <!-- <p v-if="a"> {{a}} </p> -->
        <button @click="addSex">添加sex</button>
        <button @click="addA">添加A</button>
    </div>
    
</body>
<script type="text/javascript">
    Vue.config.productionTip = false //以阻止 vue 在启动时生成生产提示。
    //创建Vue
    const vm = new Vue({
        el:'#root', 
        data:{
            student:{
                name:'liweihua'
            }
        },
        methods:{
            addSex(){
                this.$set(this.student,'sex','男')
                //Vue.set(this._data.student,'sex','男')
            },
            // 不能在根数据上添加数据
            addA(){
                //this.$set(this,'a','男')
                //Vue.set(this.student,'sex','男')
            }
        }
    })

</script>
</html>